package leetcode.top100;

import offerbook.Code16_17;
import utils.ListNode;

/**
 * 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 
 * <p>
 * 示例：
 * <p>
 * 输入：1->2->4, 1->3->4
 * 输出：1->1->2->3->4->4
 * <p>
 * 见{@link Code16_17}
 * @date 2019/11/20 0020 下午 11:22
 */


public class Code21_MergeTwoSortedLink {


    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1 == null || l2 == null) return l1 == null ? l2 : l1;
        ListNode temp;
        if(l1.val < l2.val){
            temp = l1;
            l1.next = mergeTwoLists(l1.next,l2);
        }else {
            temp = l2;
            l2.next = mergeTwoLists(l1,l2.next);
        }
        return temp;
    }


}
